<?php

/*
 * Modelo: "infra_san.php"
 * Copyright 2011 SISVOX.
 *
 * Licenciado bajo SISVOX, Version 1.0 (la "Licencia");
 * El codigo presente que compone este Software es propiedad unica y
 * exclusivamente de SISVOX, por lo tanto, usted no podr? utilizar este
 * archivo excepto en cumplimiento de la Licencia ofrecida por SISVOX.
 * Usted puede obtener una copia de la Licencia en:
 *
 *      Soluciones Integrales de Software Vox (SISVOX)
 *                 http://www.sisvox.com
 *
 *     - Carlos Calvo      <ccalvo@sisvox.com>
 *     - Andres Hernandez  <ahernandez@sisvox.com>
 *
 * A menos que sea requerido por la ley aplicable o se acuerde por escrito,
 * el software distribuido bajo la licencia se distribuye "TAL CUAL", CON
 * LAS GARANTIAS Y CONDICIONES expresadas en la "Licencia".
 */


@include_once("helper.php");

class Infra_san {
	
    /* Nombre de las Variables del Modelo (INFORMATIVO)
	+------------------------+-------------+------+-----+---------+-------+
	| Field                  | Type        | Null | Key | Default | Extra |
	+------------------------+-------------+------+-----+---------+-------+
	| id_infraccion          | int(11)     | NO   | PRI | NULL    |       |
	| id_tipo_identificacion | char(1)     | NO   | PRI | NULL    |       |
	| nro_identificacion     | varchar(15) | NO   | PRI | NULL    |       |
	| cod_articulo           | int(11)     | NO   | PRI | NULL    |       |
	| cod_numeral            | int(11)     | NO   | PRI | NULL    |       |
	| cod_literal            | char(1)     | NO   | PRI | NULL    |       |
	| o_juridico             | varchar(50) | NO   | PRI | NULL    |       |
	| ut                     | int(11)     | NO   |     | NULL    |       |
	| importe                | double      | NO   |     | NULL    |       |
	| reincidencia           | int(11)     | NO   |     | NULL    |       |
	+------------------------+-------------+------+-----+---------+-------+
	*/

    // Variable para los resultados de las Consultas
    private $respuesta;

	// Tablas del Modelo
    private $tsmit_infra_san		= "smit_infra_san";
	
	
    // =================================================================================================================
    //	FUNCION - INSERTAR LOS INFRACCIONES SANCIONADAS DE UNA INFRACCIÓN
    // =================================================================================================================
	
    public function insertar_infra_san( $id_infraccion, $id_tipo_ide_inf, $nro_ide_inf, $cod_articulo, $cod_numeral, $cod_literal, $o_juridico, $ut, $importe, $reincidencia ) 
	{
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smit_WS'] );
		
		$sql = "insert into ".$_SESSION['db_smit_WS'].$_SESSION['schema_db_smit_WS'].".$this->tsmit_infra_san ( id_infraccion, id_tipo_identificacion, nro_identificacion, cod_articulo, cod_numeral, cod_literal, o_juridico, ut, importe, reincidencia ) 
				values ( $id_infraccion, '$id_tipo_ide_inf', '$nro_ide_inf', $cod_articulo, $cod_numeral, '$cod_literal', '$o_juridico', $ut, $importe, $reincidencia )";
		
        $this->respuesta = $conexion->consultar($sql);
		
		$temparray = $conexion->buscarFilasAfectadas();
		
		if($temparray == 0)
		{
			$this->retorno[0] = "N";
			$this->retorno[1] = "No se pudo Agregar la Infracción Sancionada: ".$conexion->getLastMessage();
		}
		else
		{
			$this->retorno[0] = "S";
			$this->retorno[1] = "La Infracción Sancionada se ha Agregado con Exito.";
		}
		
		$conexion->desconectar();
		return $this->retorno;
    }
	
	
	// =================================================================================================================
    //	FUNCION - CONSULTAR LA REINCIDENCIA DE UN INFRACTOR
    // =================================================================================================================
	
    public function consultar_reincidencia( $id_tipo_ide_inf, $nro_ide_inf, $id_articulo, $id_numeral, $id_literal, $o_juridico ) 
	{
        $this->retorno = array();
		
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smit_WS'] );
		
        if(!$conexion)
        {
            $this->retorno[0] = "N";
            $this->retorno[1] = "No se pudo Consultar la Reincidencia de un Infractor (Problemas en la Conexión): ".$conexion->getLastMessage();
            return $this->retorno;
        }
        else
        {
			if ( $o_juridico == "ley_intt" ) {
				$oficio = "Ley INTT";
				if ( $id_numeral == "" ) {
					$o_juridico = "LEY_INTT_ARTICULO";
				} else if ( $id_numeral != "" ) {
					if ( $id_literal == "" ) {
						$o_juridico = "LEY_INTT_NUMERAL";
					} else if ( $id_literal != "" ) {
						$o_juridico = "LEY_INTT_LITERAL";
					}
				}
			} else if ( $o_juridico == "reg_intt" ) {
				$oficio = "Reglamento INTT";
				if ( $id_numeral == "" ) {
					$o_juridico = "REG_INTT_ARTICULO";
				} else if ( $id_numeral != "" ) {
					$o_juridico = "REG_INTT_NUMERAL";
				}
			}
			
			if ( $id_numeral == "" ) {
				$id_numeral = "0";
			}
			if ( $id_literal == "" ) {
				$id_literal = "-";
			}
			
			$sql = "select max(i.reincidencia) as reincidencia 
					from ".$_SESSION['db_smit_WS'].$_SESSION['schema_db_smit_WS'].".$this->tsmit_infra_san  as i 
					where i.id_tipo_identificacion = '$id_tipo_ide_inf' and 
						i.nro_identificacion = '$nro_ide_inf' and 
						i.cod_articulo = $id_articulo and 
						i.cod_numeral = $id_numeral and 
						i.cod_literal = '$id_literal' and 
						i.o_juridico = '$o_juridico'";	
			
			$this->respuesta = $conexion->consultar($sql);
			
			$temparray = $this->respuesta->buscar_fila();
			
            if(!temparray)
            {
                $this->retorno[0] = "N";
                $this->retorno[1] = "No se pudo Consultar la Reincidencia de un Infractor: ".$conexion->getLastMessage();
            }
            else
            {
				// Si se encontro un Resultado
				if ( $temparray['reincidencia'] != "" ) 
				{
					$_xml="<datos_reincidencia>";
						$_xml.="<reincidencia>".$temparray['reincidencia']."</reincidencia>";
					$_xml.="</datos_reincidencia>";
				}
				// Si no se encontro ningun Resultado
				else
				{
					$_xml="<datos_reincidencia>";
						$_xml.="VACIO";
					$_xml.="</datos_reincidencia>";
				}
				
				$this->retorno[0] = "S";
				$this->retorno[1] = $_xml;
            }
			
			$conexion->desconectar();
			return $this->retorno;
		}
    }
	
	
	// =================================================================================================================
    //	FUNCION - CONSULTAR LAS INFRACCIONES SANCIONADAS EN UNA INFRACCIÓN
    // =================================================================================================================
	
    public function consultar_infra_san( $id_infraccion ) {
        $conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smit_WS'] );
		
		$sql = "select i.id_infraccion as id_infraccion, 
					i.id_tipo_identificacion as id_tipo_identificacion, 
					i.nro_identificacion as nro_identificacion, 
					i.cod_articulo as cod_articulo, 
					i.cod_numeral as cod_numeral, 
					i.cod_literal as cod_literal, 
					i.o_juridico as o_juridico, 
					i.ut as ut, 
					i.importe as importe, 
					i.reincidencia as reincidencia 
				from ".$_SESSION['db_smit_WS'].$_SESSION['schema_db_smit_WS'].".$this->tsmit_infra_san as i  
				where i.id_infraccion = $id_infraccion";	
					
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo consultar la Información de las Infracciones cometidas en una Infracción.");
		
		$i = 0;
        while ( $temparray = $this->respuesta->buscar_fila() ) {
			$lista_infra_san[$i][0] = $temparray['id_infraccion'];
			//$lista_infra_san[$i][1] = $temparray['id_tipo_identificacion'];
			//$lista_infra_san[$i][2] = $temparray['nro_identificacion'];
			$lista_infra_san[$i][3] = $temparray['cod_articulo'];
			if ( $temparray['cod_numeral'] != "0" ) { 
				$lista_infra_san[$i][4] = $temparray['cod_numeral'];
			} else {
				$lista_infra_san[$i][4] = "0";
			}
			if ( $temparray['cod_literal'] != "-" ) { 
				$lista_infra_san[$i][5] = $temparray['cod_literal'];
			} else {
				$lista_infra_san[$i][5] = "-";
			}
			if ( $temparray['o_juridico'] == "LEY_INTT_ARTICULO" || $temparray['o_juridico'] == "LEY_INTT_NUMERAL" || $temparray['o_juridico'] == "LEY_INTT_LITERAL") {
				$lista_infra_san[$i][6] = "LEY DE TRANSPORTE TERRESTRE";
			} else if ( $temparray['o_juridico'] == "REG_INTT_ARTICULO" || $temparray['o_juridico'] == "REG_INTT_NUMERAL" ) {
				$lista_infra_san[$i][6] = "REGLAMENTO DE LEY DE TRANSPORTE TERRESTRE";
			} else if ( $temparray['o_juridico'] == "ORD_MUN_ARTICULO" || $temparray['o_juridico'] == "ORD_MUN_NUMERAL" ) {
				$lista_infra_san[$i][6] = "ORDENANZA MUNICIPAL";
			}
			$lista_infra_san[$i][7] = $temparray['ut'];
			
			// Formateamos el Monto
			$lista_infra_san[$i][8] = number_formatjs_esp( $temparray['importe'] );
			
			$lista_infra_san[$i][9] = $temparray['reincidencia'];
			$i++;
		}	
		
        $conexion->desconectar();
        return $lista_infra_san;
    }
}
?>